home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
001-025
/
scopedisk1
/
freeram
/
freeram.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-18
|
943b
|
41 lines
#include <exec/execbase.h>
#include <exec/memory.h>
extern struct ExecBase *SysBase;
main()
{
struct MemChunk *first;
char *type;
/* point to the first MemHeader in the list */
register struct MemHeader *memHdr =
(struct MemHeader *)&SysBase->MemList.lh_Head->ln_Succ;
/* Don't risk having the free list change while we're
* looking at it.
*/
Disable();
/* Walk through the memory pool, looking for ram. */
while (memHdr->mh_Node.ln_Succ) {
if (memHdr->mh_Attributes & MEMF_CHIP)
type = "Chip";
else
type = "Fast";
printf("\nBlock of %s RAM from %08lx to %08lx\n",
type, memHdr->mh_Lower, memHdr->mh_Upper);
printf("%s ram free list:\n", type);
for (first = memHdr->mh_First; first; first = first->mc_Next)
printf("%10ld (%08lx Hex) bytes at %08lx\n",
first->mc_Bytes, first->mc_Bytes, first);
memHdr = (struct MemHeader *)memHdr->mh_Node.ln_Succ;
}
/* interrupts back on */
Enable();
}